home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d17 / font.arc / TEXT.PAS < prev   
Pascal/Delphi Source File  |  1987-02-27  |  2KB  |  94 lines

  1. type
  2.   string8 = string[8];
  3.   textstring = string[120];
  4.  
  5.  
  6. var
  7.   chset : array[32..126,0..11] of integer;
  8.   WIDTH : integer;
  9.  
  10.  
  11. procedure readset(fname : string8);
  12. var num, i, j : integer;
  13.     fp : text;
  14. begin
  15.   assign(fp,fname + '.fnt');
  16.   reset(fp);
  17.   for i := 33 to 126 do
  18.     for j := 0 to 11 do
  19.       begin
  20.         readln(fp,num);
  21.         chset[i,j] := num;
  22.       end;
  23. end;
  24.  
  25.  
  26. procedure text(x,y : integer; str : textstring);
  27. var ch,i,j : integer;
  28. begin
  29.   for i := 1 to length(str) do
  30.     begin
  31.       ch := ord(str[i]);
  32.       if (ch <> 32) then
  33.       for j := 1 to 11 do
  34.         begin
  35.           if (chset[ch,j] and 1 = 1)
  36.             then plot(x+j,y+7,1);
  37.           if (chset[ch,j] and 2 = 2)
  38.             then plot(x+j,y+6,1);
  39.           if (chset[ch,j] and 4 = 4)
  40.             then plot(x+j,y+5,1);
  41.           if (chset[ch,j] and 8 = 8)
  42.             then plot(x+j,y+4,1);
  43.           if (chset[ch,j] and 16 = 16)
  44.             then plot(x+j,y+3,1);
  45.           if (chset[ch,j] and 32 = 32)
  46.             then plot(x+j,y+2,1);
  47.           if (chset[ch,j] and 64 = 64)
  48.             then plot(x+j,y+1,1);
  49.           if (chset[ch,j] and 128 = 128)
  50.             then plot(x+j,y,1);
  51.         end;
  52.       x := x + WIDTH;
  53.   end
  54. end;
  55.  
  56.  
  57.  
  58. begin
  59.   readset('ibmset');
  60.   Hires;
  61.  
  62.   WIDTH := 10;
  63.   Text( 1, 1,'This is an example of the standard font which');
  64.   Text( 1,11,'loaded when you initially run FontEdit');
  65.  
  66.   readset('lq');
  67.   Text( 1,31,'This is an example of the letter quality font');
  68.   Text( 1,41,'This font is called "lq"');
  69.  
  70.   readset('italic');
  71.   Text( 1,61,'This is the italic font');
  72.  
  73.   readset('cursive');
  74.   Text( 1,81,'This is the cursive font (needs work though!)');
  75.  
  76.   readset('fat');
  77.   Text( 1,101,'This is the FAT font');
  78.  
  79.   readset('lq');
  80.   Text( 1,121,'Characters with extenders; g,j,p,q,y do not extend below');
  81.   Text( 1,131,'the line where they should be drawn.  Will be fixed in ');
  82.   Text( 1,141,'future versions');
  83.  
  84.   readset('small');
  85.   WIDTH := 6;
  86.   Text( 1,161,'This is the small font which allows you to display up to forty more characters than normal (needs work)');
  87.   Text( 1,171,'and is not yet complete.  Numbers are not defined, and will overlap when plotted');
  88.  
  89.  
  90.   readln;
  91.  
  92. end.
  93.  
  94.